/**
 * Copyright© 2003-2019 浙江汇信科技有限公司, All Rights Reserved. <br/>
 */
package com.icinfo.cloud.provider.punish.ucase.casemain.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.time.LocalDateTime;


/**
 * 描述: 案件主表-trj case_main_info 对应的实体类.<br>
 * WARNING：不是表中字段的属性必须加@Transient注解
 * @author framework generator
 * @date 2022年02月15日
 */
@Data
@NoArgsConstructor
@Table(name = "upcase.case_main_info")
public class CaseMainInfo implements Serializable {
    /**
     * 主键
     */
    @Id
    @Column(name = "id")
    private String id;

    /**
     * 案件名称
     */
    @Column(name = "case_name")
    private String caseName;

    /**
     * 案件编号
     */
    @Column(name = "case_number")
    private String caseNumber;

    /**
     * 案件来源
     */
    @Column(name = "case_source")
    private String caseSource;

    /**
     * 案件类型
     */
    @Column(name = "case_type")
    private String caseType;

    /**
     * 立案日期
     */
    @Column(name = "case_regist_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime caseRegistTime;

    /**
     * 案件期限截止时间
     */
    @Column(name = "case_timelimit")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime caseTimelimit;

    /**
     * 办案期限(默认90天)
     */
    @Column(name = "case_deadline")
    private Integer caseDeadline;


    /**
     * 案件当前阶段名称
     */
    @Column(name = "case_current_stage_name")
    private String caseCurrentStageName;

    /**
     * 案件当前阶段编码
     */
    @Column(name = "case_current_stage_code")
    private String caseCurrentStageCode;

    /**
     * 案件当前环节名称
     */
    @Column(name = "case_current_link_name")
    private String caseCurrentLinkName;

    /**
     * 案件当前环节编码
     */
    @Column(name = "case_current_link_code")
    private String caseCurrentLinkCode;

    /**
     * 案件当前环节开始时间
     */
    @Column(name = "case_current_link_starttime")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime caseCurrentLinkStarttime;

    /**
     * 裁决完毕日期
     */
    @Column(name = "case_verdict_end_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime caseVerdictEndTime;

    /**
     * 结案日期
     */
    @Column(name = "case_end_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime caseEndTime;

    /**
     * 案件状态
     */
    @Column(name = "case_status")
    private String caseStatus;

    /**
     * 案件关联标签编码，多个用逗号分割
     */
    @Column(name = "case_link_tag")
    private String caseLinkTag;

    /**
     * 案卷号---结案归档时生成
     */
    @Column(name = "case_file_number")
    private String caseFileNumber;

    /**
     * 领域编码
     */
    @Column(name = "case_territory_code")
    private String caseTerritoryCode;
    /**
     * 领域名称
     */
    @Column(name = "case_territory_name")
    private String caseTerritoryName;
    /**
     * 机构名称
     */
    @Column(name = "case_org_name")
    private String caseOrgName;
    /**
     * 机构编码
     */
    @Column(name = "case_org_code")
    private String caseOrgCode;

    /**
     * 创建日期
     */
    @Column(name = "case_create_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime caseCreateTime;

    /**
     * 案件流编码
     */
    @Column(name = "case_flow_code")
    private String caseFlowCode;

    /**
     * 案件流版本
     */
    @Column(name = "case_flow_version")
    private String caseFlowVersion;

    /**
     * 案件当前阶段开始时间
     */
    @Column(name = "case_current_stage_starttime")
    private LocalDateTime caseCurrentStageStarttime;

    /**
     * 案件前一环节编码
     */
    @Column(name = "case_previous_link_code")
    private String casePreviousLinkCode;


    /**
     * 案件部门编码
     */
    @Column(name = "case_dept_code")
    private String caseDeptCode;
    /**
     * 案件部门名称
     */
    @Column(name = "case_dept_name")
    private String caseDeptName;
    /**
     * 案件案由、当事人类型；1：单案由单当事人 2：多案由单当事人 3：单案由多当事人
     */
    @Column(name = "case_parties_reason_type")
    private String casePartiesReasonType;
    /**
     * 处置方式；1：合并处罚 2：分别处罚
     */
    @Column(name = "handle_type")
    private String handleType;

    /**
     * 办案条线编码
     */
    @Column(name = "line_code")
    private String lineCode;
    /**
     * 办案条线名称
     */
    @Column(name = "line_name")
    private String lineName;
    /**
     * 业务参数配置id
     */
    @Column(name = "busi_param_id")
    private String busiParamId;

    /**
     * 数据来源方业务唯一主键id
     */
    @Column(name = "data_source_service_id")
    private String dataSourceServiceId;

    /**
     * 数据来源(数据字典-ApiVisitDataSourceEnum)
     */
    @Column(name = "data_source")
    private String dataSource;

    /**
     * 案件行政行为码
     */
    @Column(name = "case_acts_code")
    private String caseActsCode;

    /**
     * 外部行政行为码
     */
    @Column(name = "case_external_acts_code")
    private String caseExternalActsCode;

    /**
     * 行为码二维码oss地址
     */
    @Column(name = "case_qr_code_url")
    private String caseQrCodeUrl;

    /**
     * 行为码条形码oss地址
     */
    @Column(name = "case_bar_code_url")
    private String caseBarCodeUrl;

    /**
     * 条线类别编码(农业农村使用)
     */
    @Column(name = "line_type_code")
    private String lineTypeCode;
    /**
     * 条线类别名称(农业农村使用)
     */
    @Column(name = "line_type_name")
    private String lineTypeName;
    /**
     * 案件区划编码
     */
    @Column(name = "case_area_code")
    private String caseAreaCode;


    /**
     * 时效颜色 red-超期 yellow-即将超期 blue-正常
     */
    @Column(name = "case_time_color")
    private String caseTimeColor;

    /**
     * 部门全称
     */
    @Column(name = "case_org_full_name")
    private String caseOrgFullName;
    /**
     * 部门统一信用代码
     */
    @Column(name = "unicode")
    private String unicode;

    /**
     * 主办人员id
     */
    @Column(name = "handle_person_main_id")
    private String handlePersonMainId;

    /**
     * 主办人员名称
     */
    @Column(name = "handle_person_main_name")
    private String handlePersonMainName;

    /**
     * 协办人员id
     */
    @Column(name = "handle_person_assist_id")
    private String handlePersonAssistId;

    /**
     * 协办人员名称
     */
    @Column(name = "handle_person_assist_name")
    private String handlePersonAssistName;

    /**
     * 移动端立案
     */
    @Column(name = "is_mobile")
    private String isMobile;


    private static final long serialVersionUID = 1L;


}
